﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Picea.Core;
using Picea.Modelo;

namespace Picea.UI
{
    public partial class frmCadastroCliente : Form
    {
        CadastroClienteController controller;
        string sFrmPai = string.Empty;

        public frmCadastroCliente()
        {
            InitializeComponent();
            controller = new CadastroClienteController();
            sFrmPai = "PRINCIPAL";
        }

        public frmCadastroCliente(string telefone)
        {
            InitializeComponent();
            controller = new CadastroClienteController();
            maskbTelefone.Text = telefone;
            sFrmPai = "NOVO_PEDIDO";
        }
    

        private void maskbTelefone_MaskInputRejected(object sender, MaskInputRejectedEventArgs e)
        {

        }

        private void groupBox1_Enter(object sender, EventArgs e)
        {

        }

        private void frmCadastroCliente_Load(object sender, EventArgs e)
        {
            // Carregando os Tipos Logradouros da Tabela de Tipos Logradouros
            List<string> itensTipoLogradouro = controller.RetornaTiposLogradouros();

            foreach (string stTipo in itensTipoLogradouro)
            {
                cbxTipoLogradouro.Items.Add(stTipo);
            }
            cbxTipoLogradouro.SelectedIndex = 0;
        }

        private void btnCadCli_Click(object sender, EventArgs e)
        {
            // primeiro devemos cadastrar o endereço, e somente depois, cadastrar o cliente
            // isso acontece porque devemos ter o idEndereço para poder cadastrar do cliente
            Endereco endereco = new Endereco();
            endereco.StNomeLogradouro = txtNomeLogradouro.Text;
            endereco.StNumResidencia = txtNumero.Text;
            endereco.StComplemento = txtComplemento.Text;
            endereco.Bairro = txtBairro.Text;
            endereco.Cidade = txtCidade.Text;
            endereco.StObservacoes = txtObservacoes.Text;
            endereco.IdTipoLogradouro = cbxTipoLogradouro.SelectedIndex + 1;

            Cliente cliente = new Cliente();
            cliente.endereco = endereco;
            cliente.StTelefone = maskbTelefone.Text.Trim();
            cliente.StNome = txtNomeCliente.Text;

            string sMensagemRetornoCadCli =  controller.CadastrarCliente(cliente);
            MessageBox.Show(sMensagemRetornoCadCli);
            this.Dispose();
        }

        /// <summary>
        /// 
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void maskbTelefone_OnFocus(object sender, EventArgs e)
        {
            if (maskbTelefone.Text.Equals(string.Empty))
                maskbTelefone.Text = string.Empty;
        }


       

      
    }
}
